// emitter有点类似总线通信，可以实现任意组件间的通信。
import mitt from "mitt";

// 调用mitt()，得到emitter，用来绑定事件和触发事件。
const emitter = mitt();

// 绑定事件
emitter.on('test1', () => {
    console.log('test1被调用了');
});
emitter.on('test2', () => {
    console.log('test2被调用了');
});

// 触发事件
setInterval(() => {
    emitter.emit('test1');
    emitter.emit('test2');
}, 1000);

// 3s后，解绑事件test1
setTimeout(() => {
    emitter.off('test1');
}, 3000);

// 5s后，解绑所有事件
setTimeout(() => {
    emitter.all.clear();
}, 5000);

export default emitter;